package com.xindong.paking.service;

import com.xindong.paking.dtos.TbSpaceListParams;
import com.xindong.paking.entity.TbSpace;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xindong.paking.utils.Result;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author wenbo
 * @since 2023-01-08
 */
public interface TbSpaceService extends IService<TbSpace> {

    /**
     * 新增停车位
     * @param tbSpace
     * @return
     */
    public Result add(TbSpace tbSpace);

    /**
     * 删除停车位
     * @param id 停车位id
     * @return
     */
    public Result delete(Integer id);

    /**
     * 更新停车位
     * @param tbSpace
     * @return
     */
    public Result update(TbSpace tbSpace);

    /**
     * 分页查询
     * @param params
     * @return
     */
    public Result list(TbSpaceListParams params);

    /**
     * 入库
     * @param tbSpace
     * @return
     */
    public Result warehousing(TbSpace tbSpace);

    /**
     * 出库
     * @param tbSpace
     * @return
     */
    public Result issue(TbSpace tbSpace);

    /**
     * 通过id查找
     * @param id
     * @return
     */
    public Result selectById(Integer id);

    /**
     * 根据停车场id获取停车位使用率
     * @param parkingId
     * @return
     */
    Result utilizationRate(Integer parkingId);
}
